草庐IT

Julia 复数和有理数

全部标签

python - Euler #26,如何更准确地将有理数转换为字符串?

我想获得更精确的1/7,但它被截断了。如何在转换有理数时获得更好的精度?>>>str(1.0/7)[:50]'0.142857142857' 最佳答案 Python有一个用于任意精度计算的内置库:Decimal。例如:>>>fromdecimalimportDecimal,getcontext>>>getcontext().prec=50>>>x=Decimal(1)/Decimal(7)>>>xDecimal('0.14285714285714285714285714285714285714285714285714')>>>str

Python - 生成单数名词的复数名词

我如何使用NLTK模块来同时编写名词的单数和复数形式,或者告诉它在txt文件中搜索单词时不区分单数和复数?我可以使用NLTK使程序不区分大小写吗? 最佳答案 你可以使用pattern.en来做到这一点,对NLTK不太了解>>>frompattern.enimportpluralize,singularize>>>>>>printpluralize('child')#children>>>printsingularize('wolves')#wolf参见more 关于Python-生成单数

python - 使用 Python 将文本文件中的复数转换为单数

我有这样的txt文件:word,23Words,2test,1tests,4我希望它们看起来像这样:word,23word,2test,1test,4我希望能够在Python中获取一个txt文件并将复数单词转换为单数。这是我的代码:importnltkf=raw_input("Pleaseenterafilename:")defopenfile(f):withopen(f,'r')asa:a=a.read()a=a.lower()returnadefstem(a):p=nltk.PorterStemmer()[p.stem(word)forwordina]returnadefretur

python - 尽管遵循安装说明,Beaker 仍无法找到 Python 和 Julia 安装

我最近安装了BeakerNotebook,但无法启动Python。我已经安装了Python,它是使用Anaconda安装的(实际上推荐用于Beaker)。我编辑了beaker.pref.json以指向我的安装(见下文),但它就是无法启动。JupyterNotebook和其他Python实现工作正常,所以我知道我的安装完好无损。我的beaker.pref.json在theseinstructions之后看起来像这样:{"autocomplete-parameters":"true","pref-format":"1","allow-anonymous-usage-tracking":fa

python - 是否有理由在 Python 中导入字符串模块?

我是编程初学者,Python是我的第一语言。我现在正在使用Pythonshell,但不明白为什么我们需要导入string模块。我知道导入string会导入一些函数,但是当我尝试使用string.split和string.join等函数时,它们都在没有导入的情况下工作,所以我认为这意味着它们只是Python内置函数。有没有什么东西一旦你导入了string模块就可以工作,否则就不能工作了? 最佳答案 通常您不需要导入string模块,因为该类已经在内置函数中。然而,有几个constants字符串模块中的那些不是内置的,它们可能很有用。

python - 如何在 python 中将有理数和十进制数字字符串转换为 float ?

如何将可以表示小数或有理数的字符串转换为float>>>["0.1234","1/2"]['0.1234','1/2']我想要[0.1234,0.5]。eval是我的想法,但没有运气:>>>eval("1/2")0 最佳答案 如果转换失败我会解析字符串:>>>defconvert(s):try:returnfloat(s)exceptValueError:num,denom=s.split('/')returnfloat(num)/float(denom)...>>>convert("0.1234")0.1234>>>convert

python - 如何检查给定单词是复数形式还是单数形式?

主题中的问题-我正在尝试在python中为GoogleAppEngine中的应用程序执行此操作。我知道PyEnchant库用于自然语言识别,但我不知道我是否可以将它用于我的问题以及如何使用它。 最佳答案 Ashwini提到了有用的inflect库,但没有解释如何检查给定单词是复数形式还是单数形式。如果您知道该词是单数还是复数,您可以使用:singular_noun(word)如果单词不是复数,这将返回False,因此理论上您的单词应该是单数。当涉及到经典复数、可以是单数或复数的形式时,请注意我的示例中显示的缺点,以及对于一般无法识别

java - 任何编程语言中的无理数表示?

有人知道任何编程语言中的无理数表示类型/对象/类/任何东西吗?欢迎所有建议。简单地说,如果我有两个无理对象,都代表5的平方根,我将这些对象相乘,我想得到整数5,而不是float4点数9。具体来说,我需要表示能够收集术语,而不仅仅是每次都解析为整数/float。例如,如果我想将五的平方根加到一,我不希望它返回一些近似整数/float,我希望它返回一个我可以与另一个无理对象相加/相乘的对象,这样我可以告诉对象在尽可能晚的时间解析,以最大限度地减少float近似误差。非常感谢! 最佳答案 您正在寻找的是符号数学。您可能想尝试一些计算机代数

python - 提高到 1/3 得到复数

我无法理解以下输出。我希望Numpy返回-10(或近似值)。为什么是复数?print((-1000)**(1/3.))NumPy的答案(5+8.660254037844384j)Numpy官方教程说答案是nan。你可以在thistutorial中间找到它. 最佳答案 您正在对常规Python标量而不是numpy数组求幂。试试这个:importnumpyasnpprint(np.array(-1000)**(1./3))#nan不同之处在于numpy不会自动将结果提升为复杂类型,而Python3标量会提升为复杂值(在Python2.7

python - 缓慢的 Julia 启动时间

我正在探索使用Julia作为通用科学计算语言(而不是python),但它的启动时间非常缓慢。有什么办法可以加快速度吗?$timepython-c'print"Hello"'Helloreal0m0.030suser0m0.018ssys0m0.010s$timejulia-e'println("Hello")'Helloreal0m4.614suser0m4.644ssys0m0.116s附录:Here是去年一位Julia作者的话。这个策略有什么困难吗?MostofJuliaiswritteninitself,thenparsed,type-inferredandjitted,sobo